/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package mnstudent.presentationlayer.search;

import java.awt.Dimension;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import javax.swing.DefaultComboBoxModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.DefaultTableModel;
import mnstudent.businessLayer.*;
import mnstudent.datatranferobject.*;
import mnstudent.global.DataTable;

/**
 *
 * @author lee
 */
public class frmStudentInfoSearch extends javax.swing.JPanel {

    /**
     * Creates new form srStudentInfo
     */
    
    // <editor-fold defaultstate="collapsed" desc="Attribute"> 
    //Khai bao cac doi tuong
    private FacultyDTO m_FacultyObj;
    private MajorDTO m_MajorObj;
    //Khai bao cac doi tuong xu ly
    private FacultyBLL m_FacultyExecute;
    private MajorBLL m_MajorExecute;
    private StudentBLL m_StudentExecute;
    
    //</editor-fold>
    
    public frmStudentInfoSearch() {
        initComponents();
        prepareSearch();
        //
        prepareRegCoursesControl();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        buttonGroup1 = new javax.swing.ButtonGroup();
        jpanTitle = new javax.swing.JPanel();
        jXLabel4 = new org.jdesktop.swingx.JXLabel();
        jtabView = new javax.swing.JTabbedPane();
        jxpanStudentProfile = new org.jdesktop.swingx.JXPanel();
        jximgStudentPic = new org.jdesktop.swingx.JXImageView();
        jxlabStudentID = new org.jdesktop.swingx.JXLabel();
        jxlabBirthDate = new org.jdesktop.swingx.JXLabel();
        jxtxtGender = new org.jdesktop.swingx.JXTextField();
        jxtxtFaculty = new org.jdesktop.swingx.JXTextField();
        jxlabFaculty = new org.jdesktop.swingx.JXLabel();
        jxtxtMajor = new org.jdesktop.swingx.JXTextField();
        jxlabMajor = new org.jdesktop.swingx.JXLabel();
        jxlabGender = new org.jdesktop.swingx.JXLabel();
        jxtxtBirthDate = new org.jdesktop.swingx.JXTextField();
        jxlabObject = new org.jdesktop.swingx.JXLabel();
        jxtxtObject = new org.jdesktop.swingx.JXTextField();
        jxlabDistrict = new org.jdesktop.swingx.JXLabel();
        jxtxtDistrict = new org.jdesktop.swingx.JXTextField();
        jxtxtFullName = new org.jdesktop.swingx.JXTextField();
        jxlabFullName = new org.jdesktop.swingx.JXLabel();
        jxtxtProvince = new org.jdesktop.swingx.JXTextField();
        jxlabProvince = new org.jdesktop.swingx.JXLabel();
        jxpanRegistrationCoure = new org.jdesktop.swingx.JXPanel();
        jxpanHeader = new org.jdesktop.swingx.JXPanel();
        jxCmbSemester = new org.jdesktop.swingx.JXComboBox();
        jxlabAcademicYear = new org.jdesktop.swingx.JXLabel();
        jxCmbAcademicYear = new org.jdesktop.swingx.JXComboBox();
        jxlabSemester = new org.jdesktop.swingx.JXLabel();
        jxlabFullName1 = new org.jdesktop.swingx.JXLabel();
        jxlabFullNameValue = new org.jdesktop.swingx.JXLabel();
        jxlabStudentID1 = new org.jdesktop.swingx.JXLabel();
        jxlabStudentIDValue = new org.jdesktop.swingx.JXLabel();
        jxpanContent = new org.jdesktop.swingx.JXPanel();
        jScrollPane2 = new javax.swing.JScrollPane();
        jxtableRegistrationCourses = new org.jdesktop.swingx.JXTable();
        jxpanFooter = new org.jdesktop.swingx.JXPanel();
        jxlabTotalCredit = new org.jdesktop.swingx.JXLabel();
        jxtxtTotalCredit = new org.jdesktop.swingx.JXTextField();
        jxpanTuitionFee = new org.jdesktop.swingx.JXPanel();
        jXPanel7 = new org.jdesktop.swingx.JXPanel();
        jXPanel6 = new org.jdesktop.swingx.JXPanel();
        jScrollPane4 = new javax.swing.JScrollPane();
        myTable1 = new mnstudent.global.MyTable();
        jXPanel4 = new org.jdesktop.swingx.JXPanel();
        jXLabel15 = new org.jdesktop.swingx.JXLabel();
        jXTextField2 = new org.jdesktop.swingx.JXTextField();
        jXLabel16 = new org.jdesktop.swingx.JXLabel();
        jXTextField3 = new org.jdesktop.swingx.JXTextField();
        jXLabel17 = new org.jdesktop.swingx.JXLabel();
        jXTextField4 = new org.jdesktop.swingx.JXTextField();
        jXLabel18 = new org.jdesktop.swingx.JXLabel();
        jXTextField5 = new org.jdesktop.swingx.JXTextField();
        jXLabel19 = new org.jdesktop.swingx.JXLabel();
        jXLabel20 = new org.jdesktop.swingx.JXLabel();
        jXPanel5 = new org.jdesktop.swingx.JXPanel();
        jXLabel9 = new org.jdesktop.swingx.JXLabel();
        jXComboBox3 = new org.jdesktop.swingx.JXComboBox();
        jXLabel10 = new org.jdesktop.swingx.JXLabel();
        jXComboBox4 = new org.jdesktop.swingx.JXComboBox();
        jXLabel11 = new org.jdesktop.swingx.JXLabel();
        jXLabel12 = new org.jdesktop.swingx.JXLabel();
        jXLabel13 = new org.jdesktop.swingx.JXLabel();
        jXLabel14 = new org.jdesktop.swingx.JXLabel();
        jxpanTranscripts = new org.jdesktop.swingx.JXPanel();
        jXPanel10 = new org.jdesktop.swingx.JXPanel();
        jXLabel27 = new org.jdesktop.swingx.JXLabel();
        jXTextField6 = new org.jdesktop.swingx.JXTextField();
        jXLabel28 = new org.jdesktop.swingx.JXLabel();
        jXTextField7 = new org.jdesktop.swingx.JXTextField();
        jXPanel8 = new org.jdesktop.swingx.JXPanel();
        jXComboBox5 = new org.jdesktop.swingx.JXComboBox();
        jXLabel21 = new org.jdesktop.swingx.JXLabel();
        jXComboBox6 = new org.jdesktop.swingx.JXComboBox();
        jXLabel22 = new org.jdesktop.swingx.JXLabel();
        jXLabel23 = new org.jdesktop.swingx.JXLabel();
        jXLabel24 = new org.jdesktop.swingx.JXLabel();
        jXLabel25 = new org.jdesktop.swingx.JXLabel();
        jXLabel26 = new org.jdesktop.swingx.JXLabel();
        jXPanel9 = new org.jdesktop.swingx.JXPanel();
        jScrollPane5 = new javax.swing.JScrollPane();
        jXTable2 = new org.jdesktop.swingx.JXTable();
        jScrollPane1 = new javax.swing.JScrollPane();
        jPanSearch = new javax.swing.JPanel();
        jpanAdvanced = new javax.swing.JPanel();
        jxLbMajor = new org.jdesktop.swingx.JXLabel();
        jxCmbMajor = new org.jdesktop.swingx.JXComboBox();
        jxCmbFaculty = new org.jdesktop.swingx.JXComboBox();
        jxLbFaculty = new org.jdesktop.swingx.JXLabel();
        jxCmbAdmissionYear = new org.jdesktop.swingx.JXComboBox();
        jxLbAdmissionYear = new org.jdesktop.swingx.JXLabel();
        jxPanSearchDetails = new org.jdesktop.swingx.JXPanel();
        jChkSearchByID = new javax.swing.JCheckBox();
        jChkSearchByName = new javax.swing.JCheckBox();
        jChkSearch = new javax.swing.JCheckBox();
        jPanel5 = new javax.swing.JPanel();
        jXSearchField1 = new org.jdesktop.swingx.JXSearchField();
        jxbtnAdvanced = new org.jdesktop.swingx.JXButton();
        jXButton2 = new org.jdesktop.swingx.JXButton();
        jPanel3 = new javax.swing.JPanel();
        jScrollPane3 = new javax.swing.JScrollPane();
        jxtableDetail = new mnstudent.global.MyTable();

        setLayout(new java.awt.BorderLayout());

        org.jdesktop.swingx.border.DropShadowBorder dropShadowBorder1 = new org.jdesktop.swingx.border.DropShadowBorder();
        dropShadowBorder1.setShowLeftShadow(true);
        dropShadowBorder1.setShowTopShadow(true);
        jpanTitle.setBorder(dropShadowBorder1);

        jXLabel4.setForeground(new java.awt.Color(102, 102, 255));
        jXLabel4.setText("TRA CỨU THÔNG TIN SINH VIÊN");
        jXLabel4.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
        jpanTitle.add(jXLabel4);

        add(jpanTitle, java.awt.BorderLayout.PAGE_START);

        jxpanStudentProfile.setBorder(javax.swing.BorderFactory.createTitledBorder("Thông tin chi tiết"));

        javax.swing.GroupLayout jximgStudentPicLayout = new javax.swing.GroupLayout(jximgStudentPic);
        jximgStudentPic.setLayout(jximgStudentPicLayout);
        jximgStudentPicLayout.setHorizontalGroup(
            jximgStudentPicLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 125, Short.MAX_VALUE)
        );
        jximgStudentPicLayout.setVerticalGroup(
            jximgStudentPicLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 129, Short.MAX_VALUE)
        );

        jxlabStudentID.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jxlabStudentID.setText("11520326");
        jxlabStudentID.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jxlabStudentID.setTextAlignment(org.jdesktop.swingx.JXLabel.TextAlignment.CENTER);

        jxlabBirthDate.setText("Ngày sinh");

        jxtxtGender.setEditable(false);
        jxtxtGender.setBackground(new java.awt.Color(255, 255, 255));
        jxtxtGender.setForeground(new java.awt.Color(0, 0, 153));
        jxtxtGender.setDisabledTextColor(new java.awt.Color(0, 51, 153));

        jxtxtFaculty.setEditable(false);
        jxtxtFaculty.setBackground(new java.awt.Color(255, 255, 255));
        jxtxtFaculty.setForeground(new java.awt.Color(0, 0, 153));
        jxtxtFaculty.setDisabledTextColor(new java.awt.Color(0, 51, 153));

        jxlabFaculty.setText("Khoa");

        jxtxtMajor.setEditable(false);
        jxtxtMajor.setBackground(new java.awt.Color(255, 255, 255));
        jxtxtMajor.setForeground(new java.awt.Color(0, 0, 153));
        jxtxtMajor.setDisabledTextColor(new java.awt.Color(0, 51, 153));

        jxlabMajor.setText("Ngành");

        jxlabGender.setText("Giới tính");

        jxtxtBirthDate.setEditable(false);
        jxtxtBirthDate.setBackground(new java.awt.Color(255, 255, 255));
        jxtxtBirthDate.setForeground(new java.awt.Color(0, 0, 153));
        jxtxtBirthDate.setDisabledTextColor(new java.awt.Color(0, 51, 153));

        jxlabObject.setText("Đối tượng");

        jxtxtObject.setEditable(false);
        jxtxtObject.setBackground(new java.awt.Color(255, 255, 255));
        jxtxtObject.setForeground(new java.awt.Color(0, 0, 153));
        jxtxtObject.setDisabledTextColor(new java.awt.Color(0, 51, 153));

        jxlabDistrict.setText("Huyện");

        jxtxtDistrict.setEditable(false);
        jxtxtDistrict.setBackground(new java.awt.Color(255, 255, 255));
        jxtxtDistrict.setForeground(new java.awt.Color(0, 0, 153));
        jxtxtDistrict.setDisabledTextColor(new java.awt.Color(0, 51, 153));

        jxtxtFullName.setEditable(false);
        jxtxtFullName.setBackground(new java.awt.Color(255, 255, 255));
        jxtxtFullName.setForeground(new java.awt.Color(0, 0, 153));
        jxtxtFullName.setDisabledTextColor(new java.awt.Color(0, 51, 153));

        jxlabFullName.setText("Họ và tên");

        jxtxtProvince.setEditable(false);
        jxtxtProvince.setBackground(new java.awt.Color(255, 255, 255));
        jxtxtProvince.setForeground(new java.awt.Color(0, 0, 153));
        jxtxtProvince.setDisabledTextColor(new java.awt.Color(0, 51, 153));

        jxlabProvince.setText("Tỉnh");

        javax.swing.GroupLayout jxpanStudentProfileLayout = new javax.swing.GroupLayout(jxpanStudentProfile);
        jxpanStudentProfile.setLayout(jxpanStudentProfileLayout);
        jxpanStudentProfileLayout.setHorizontalGroup(
            jxpanStudentProfileLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jxpanStudentProfileLayout.createSequentialGroup()
                .addGap(21, 21, 21)
                .addGroup(jxpanStudentProfileLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jxpanStudentProfileLayout.createSequentialGroup()
                        .addGroup(jxpanStudentProfileLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jxlabProvince, javax.swing.GroupLayout.PREFERRED_SIZE, 63, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jxlabObject, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(32, 32, 32)
                        .addGroup(jxpanStudentProfileLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jxtxtObject, javax.swing.GroupLayout.PREFERRED_SIZE, 275, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jxtxtProvince, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 275, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(jxpanStudentProfileLayout.createSequentialGroup()
                        .addComponent(jxlabDistrict, javax.swing.GroupLayout.PREFERRED_SIZE, 63, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(49, 49, 49)
                        .addComponent(jxtxtDistrict, javax.swing.GroupLayout.PREFERRED_SIZE, 275, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jxpanStudentProfileLayout.createSequentialGroup()
                        .addComponent(jximgStudentPic, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(33, 33, 33)
                        .addGroup(jxpanStudentProfileLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(jxlabFullName, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(jxpanStudentProfileLayout.createSequentialGroup()
                                .addComponent(jxlabGender, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jxtxtGender, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(jxpanStudentProfileLayout.createSequentialGroup()
                                .addComponent(jxlabBirthDate, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jxtxtBirthDate, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            .addComponent(jxtxtFullName, javax.swing.GroupLayout.PREFERRED_SIZE, 275, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addComponent(jxlabStudentID, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(jxpanStudentProfileLayout.createSequentialGroup()
                        .addGroup(jxpanStudentProfileLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jxpanStudentProfileLayout.createSequentialGroup()
                                .addComponent(jxlabFaculty, javax.swing.GroupLayout.PREFERRED_SIZE, 63, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(49, 49, 49))
                            .addGroup(jxpanStudentProfileLayout.createSequentialGroup()
                                .addComponent(jxlabMajor, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
                        .addGroup(jxpanStudentProfileLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jxtxtMajor, javax.swing.GroupLayout.PREFERRED_SIZE, 448, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jxtxtFaculty, javax.swing.GroupLayout.PREFERRED_SIZE, 448, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addGap(380, 380, 380))
        );
        jxpanStudentProfileLayout.setVerticalGroup(
            jxpanStudentProfileLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jxpanStudentProfileLayout.createSequentialGroup()
                .addGap(8, 8, 8)
                .addGroup(jxpanStudentProfileLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(jxpanStudentProfileLayout.createSequentialGroup()
                        .addComponent(jxlabFullName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jxtxtFullName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGroup(jxpanStudentProfileLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jxpanStudentProfileLayout.createSequentialGroup()
                                .addGap(39, 39, 39)
                                .addGroup(jxpanStudentProfileLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                    .addComponent(jxlabGender, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jxtxtGender, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                            .addGroup(jxpanStudentProfileLayout.createSequentialGroup()
                                .addGap(11, 11, 11)
                                .addGroup(jxpanStudentProfileLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                    .addComponent(jxtxtBirthDate, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jxlabBirthDate, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))))
                    .addComponent(jximgStudentPic, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jxlabStudentID, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(jxpanStudentProfileLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jxlabFaculty, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jxtxtFaculty, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jxpanStudentProfileLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jxlabMajor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jxtxtMajor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jxpanStudentProfileLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jxlabDistrict, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jxtxtDistrict, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jxpanStudentProfileLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jxlabProvince, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jxtxtProvince, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jxpanStudentProfileLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jxtxtObject, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jxlabObject, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        jtabView.addTab("Lý lịch sinh viên", jxpanStudentProfile);

        jxpanRegistrationCoure.setLayout(new java.awt.BorderLayout());

        jxlabAcademicYear.setText("Chọn năm học");

        jxlabSemester.setText("Chọn học kỳ");

        jxlabFullName1.setText("Họ và tên");

        jxlabFullNameValue.setForeground(new java.awt.Color(51, 0, 204));
        jxlabFullNameValue.setText("Lê Đức Sang");

        jxlabStudentID1.setText("Mã số ");

        jxlabStudentIDValue.setForeground(new java.awt.Color(51, 0, 204));
        jxlabStudentIDValue.setText("11520326");

        javax.swing.GroupLayout jxpanHeaderLayout = new javax.swing.GroupLayout(jxpanHeader);
        jxpanHeader.setLayout(jxpanHeaderLayout);
        jxpanHeaderLayout.setHorizontalGroup(
            jxpanHeaderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jxpanHeaderLayout.createSequentialGroup()
                .addGroup(jxpanHeaderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jxpanHeaderLayout.createSequentialGroup()
                        .addGap(31, 31, 31)
                        .addComponent(jxlabAcademicYear, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(jxCmbAcademicYear, javax.swing.GroupLayout.PREFERRED_SIZE, 162, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(80, 80, 80)
                        .addComponent(jxlabSemester, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(46, 46, 46)
                        .addComponent(jxCmbSemester, javax.swing.GroupLayout.PREFERRED_SIZE, 175, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jxpanHeaderLayout.createSequentialGroup()
                        .addGap(20, 20, 20)
                        .addGroup(jxpanHeaderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addComponent(jxlabFullName1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jxlabStudentID1, javax.swing.GroupLayout.PREFERRED_SIZE, 88, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(54, 54, 54)
                        .addGroup(jxpanHeaderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jxlabStudentIDValue, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 109, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jxlabFullNameValue, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 109, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap(95, Short.MAX_VALUE))
        );
        jxpanHeaderLayout.setVerticalGroup(
            jxpanHeaderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jxpanHeaderLayout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(jxpanHeaderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jxlabStudentID1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jxlabStudentIDValue, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jxpanHeaderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jxlabFullName1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jxlabFullNameValue, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(jxpanHeaderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jxlabAcademicYear, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jxCmbAcademicYear, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jxlabSemester, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jxCmbSemester, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        jxpanRegistrationCoure.add(jxpanHeader, java.awt.BorderLayout.NORTH);

        jxpanContent.setBorder(javax.swing.BorderFactory.createTitledBorder("Kết quả đăng ký học phần"));
        jxpanContent.setLayout(new java.awt.BorderLayout());

        jxtableRegistrationCourses.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Mã môn học", "Tên môn học", "Loại môn học", "Số tín chỉ"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
            };
            boolean[] canEdit = new boolean [] {
                false, false, true, true
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jScrollPane2.setViewportView(jxtableRegistrationCourses);
        if (jxtableRegistrationCourses.getColumnModel().getColumnCount() > 0) {
            jxtableRegistrationCourses.getColumnModel().getColumn(2).setResizable(false);
            jxtableRegistrationCourses.getColumnModel().getColumn(3).setResizable(false);
        }

        jxpanContent.add(jScrollPane2, java.awt.BorderLayout.CENTER);

        jxpanRegistrationCoure.add(jxpanContent, java.awt.BorderLayout.CENTER);

        jxlabTotalCredit.setText("Tổng chỉ đăng ký");

        javax.swing.GroupLayout jxpanFooterLayout = new javax.swing.GroupLayout(jxpanFooter);
        jxpanFooter.setLayout(jxpanFooterLayout);
        jxpanFooterLayout.setHorizontalGroup(
            jxpanFooterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jxpanFooterLayout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jxlabTotalCredit, javax.swing.GroupLayout.PREFERRED_SIZE, 141, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(32, 32, 32)
                .addComponent(jxtxtTotalCredit, javax.swing.GroupLayout.PREFERRED_SIZE, 118, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        jxpanFooterLayout.setVerticalGroup(
            jxpanFooterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jxpanFooterLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jxpanFooterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jxlabTotalCredit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jxtxtTotalCredit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jxpanRegistrationCoure.add(jxpanFooter, java.awt.BorderLayout.SOUTH);

        jtabView.addTab("Thông tin đăng ký học phần", jxpanRegistrationCoure);

        jxpanTuitionFee.setLayout(new java.awt.BorderLayout());

        jXPanel7.setLayout(new java.awt.BorderLayout());

        jXPanel6.setBorder(javax.swing.BorderFactory.createTitledBorder("Chi tiết các lần đóng"));

        myTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Lần đóng", "Người thu", "Số tiền đã đóng", "Ngày đóng tiền"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.String.class, java.lang.String.class, java.lang.Integer.class, java.lang.String.class
            };
            boolean[] canEdit = new boolean [] {
                false, true, false, false
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jScrollPane4.setViewportView(myTable1);

        javax.swing.GroupLayout jXPanel6Layout = new javax.swing.GroupLayout(jXPanel6);
        jXPanel6.setLayout(jXPanel6Layout);
        jXPanel6Layout.setHorizontalGroup(
            jXPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane4, javax.swing.GroupLayout.DEFAULT_SIZE, 771, Short.MAX_VALUE)
        );
        jXPanel6Layout.setVerticalGroup(
            jXPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane4, javax.swing.GroupLayout.DEFAULT_SIZE, 154, Short.MAX_VALUE)
        );

        jXPanel7.add(jXPanel6, java.awt.BorderLayout.PAGE_END);

        jXPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("Thông tin học phí"));

        jXLabel15.setText("Số tín chỉ đăng ký");

        jXTextField2.setEditable(false);
        jXTextField2.setDisabledTextColor(new java.awt.Color(0, 51, 153));

        jXLabel16.setText("Số tiền phải đóng");

        jXTextField3.setEditable(false);
        jXTextField3.setDisabledTextColor(new java.awt.Color(0, 51, 153));
        jXTextField3.setDoubleBuffered(true);

        jXLabel17.setText("Số tiền đã đóng");

        jXTextField4.setEditable(false);
        jXTextField4.setDisabledTextColor(new java.awt.Color(0, 51, 153));

        jXLabel18.setText("Còn lại");

        jXTextField5.setEditable(false);
        jXTextField5.setDisabledTextColor(new java.awt.Color(0, 51, 153));

        jXLabel19.setText("Thời gian đóng lần cuối");

        jXLabel20.setForeground(new java.awt.Color(0, 0, 204));
        jXLabel20.setText("Chưa có");

        javax.swing.GroupLayout jXPanel4Layout = new javax.swing.GroupLayout(jXPanel4);
        jXPanel4.setLayout(jXPanel4Layout);
        jXPanel4Layout.setHorizontalGroup(
            jXPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jXPanel4Layout.createSequentialGroup()
                .addGap(38, 38, 38)
                .addGroup(jXPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jXPanel4Layout.createSequentialGroup()
                        .addGroup(jXPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jXLabel18, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jXLabel17, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jXLabel16, javax.swing.GroupLayout.PREFERRED_SIZE, 138, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGroup(jXPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(jXPanel4Layout.createSequentialGroup()
                                .addGap(19, 19, 19)
                                .addGroup(jXPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jXTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, 223, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jXTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, 223, javax.swing.GroupLayout.PREFERRED_SIZE)))
                            .addGroup(jXPanel4Layout.createSequentialGroup()
                                .addGap(18, 18, 18)
                                .addGroup(jXPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jXTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 109, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jXTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE)))))
                    .addGroup(jXPanel4Layout.createSequentialGroup()
                        .addComponent(jXLabel15, javax.swing.GroupLayout.PREFERRED_SIZE, 133, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(247, 247, 247)))
                .addGap(42, 42, 42)
                .addComponent(jXLabel19, javax.swing.GroupLayout.PREFERRED_SIZE, 159, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(27, 27, 27)
                .addComponent(jXLabel20, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(45, Short.MAX_VALUE))
        );
        jXPanel4Layout.setVerticalGroup(
            jXPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jXPanel4Layout.createSequentialGroup()
                .addGap(0, 0, 0)
                .addGroup(jXPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jXPanel4Layout.createSequentialGroup()
                        .addGroup(jXPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jXLabel15, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jXTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(14, 14, 14)
                        .addGroup(jXPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jXPanel4Layout.createSequentialGroup()
                                .addGap(33, 33, 33)
                                .addGroup(jXPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                    .addComponent(jXLabel17, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jXTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                            .addGroup(jXPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(jXLabel16, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jXTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(jXPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jXLabel18, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jXTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(jXPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addComponent(jXLabel20, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jXLabel19, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
        );

        jXPanel7.add(jXPanel4, java.awt.BorderLayout.CENTER);

        jxpanTuitionFee.add(jXPanel7, java.awt.BorderLayout.CENTER);

        jXLabel9.setText("Chọn năm học");

        jXLabel10.setText("Chọn học kỳ");

        jXLabel11.setForeground(new java.awt.Color(51, 0, 204));
        jXLabel11.setText("Lê Đức Sang");

        jXLabel12.setText("Họ và tên");

        jXLabel13.setText("Mã số ");

        jXLabel14.setForeground(new java.awt.Color(51, 0, 204));
        jXLabel14.setText("11520326");

        javax.swing.GroupLayout jXPanel5Layout = new javax.swing.GroupLayout(jXPanel5);
        jXPanel5.setLayout(jXPanel5Layout);
        jXPanel5Layout.setHorizontalGroup(
            jXPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jXPanel5Layout.createSequentialGroup()
                .addGroup(jXPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jXPanel5Layout.createSequentialGroup()
                        .addGap(81, 81, 81)
                        .addComponent(jXLabel9, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(jXComboBox3, javax.swing.GroupLayout.PREFERRED_SIZE, 162, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(36, 36, 36)
                        .addComponent(jXLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(46, 46, 46)
                        .addComponent(jXComboBox4, javax.swing.GroupLayout.PREFERRED_SIZE, 175, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jXPanel5Layout.createSequentialGroup()
                        .addGap(19, 19, 19)
                        .addComponent(jXLabel13, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jXLabel14, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(jXLabel12, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jXLabel11, javax.swing.GroupLayout.PREFERRED_SIZE, 152, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(89, Short.MAX_VALUE))
        );
        jXPanel5Layout.setVerticalGroup(
            jXPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jXPanel5Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jXPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jXLabel13, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jXLabel14, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jXLabel12, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jXLabel11, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 13, Short.MAX_VALUE)
                .addGroup(jXPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jXLabel9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jXComboBox3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jXLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jXComboBox4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        jxpanTuitionFee.add(jXPanel5, java.awt.BorderLayout.PAGE_START);

        jtabView.addTab("Thông tin học phí", jxpanTuitionFee);

        jxpanTranscripts.setLayout(new java.awt.BorderLayout());

        jXLabel27.setText("Số tín chỉ");

        jXLabel28.setText("Điểm trung bình học kỳ");

        javax.swing.GroupLayout jXPanel10Layout = new javax.swing.GroupLayout(jXPanel10);
        jXPanel10.setLayout(jXPanel10Layout);
        jXPanel10Layout.setHorizontalGroup(
            jXPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jXPanel10Layout.createSequentialGroup()
                .addContainerGap(194, Short.MAX_VALUE)
                .addComponent(jXLabel27, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(32, 32, 32)
                .addComponent(jXTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, 118, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(32, 32, 32)
                .addComponent(jXLabel28, javax.swing.GroupLayout.PREFERRED_SIZE, 141, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jXTextField7, javax.swing.GroupLayout.PREFERRED_SIZE, 118, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(35, 35, 35))
        );
        jXPanel10Layout.setVerticalGroup(
            jXPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jXPanel10Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jXPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jXTextField7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(jXPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jXLabel28, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jXTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jXLabel27, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jxpanTranscripts.add(jXPanel10, java.awt.BorderLayout.PAGE_END);

        jXLabel21.setText("Chọn năm học");

        jXLabel22.setText("Chọn học kỳ");

        jXLabel23.setText("Họ và tên");

        jXLabel24.setForeground(new java.awt.Color(51, 0, 204));
        jXLabel24.setText("Lê Đức Sang");

        jXLabel25.setText("Mã số ");

        jXLabel26.setForeground(new java.awt.Color(51, 0, 204));
        jXLabel26.setText("11520326");

        javax.swing.GroupLayout jXPanel8Layout = new javax.swing.GroupLayout(jXPanel8);
        jXPanel8.setLayout(jXPanel8Layout);
        jXPanel8Layout.setHorizontalGroup(
            jXPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jXPanel8Layout.createSequentialGroup()
                .addGroup(jXPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jXPanel8Layout.createSequentialGroup()
                        .addGap(56, 56, 56)
                        .addComponent(jXLabel21, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(jXComboBox6, javax.swing.GroupLayout.PREFERRED_SIZE, 162, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(80, 80, 80)
                        .addComponent(jXLabel22, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(46, 46, 46)
                        .addComponent(jXComboBox5, javax.swing.GroupLayout.PREFERRED_SIZE, 175, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jXPanel8Layout.createSequentialGroup()
                        .addGap(19, 19, 19)
                        .addGroup(jXPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addComponent(jXLabel23, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jXLabel25, javax.swing.GroupLayout.PREFERRED_SIZE, 88, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(54, 54, 54)
                        .addGroup(jXPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jXLabel26, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 109, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jXLabel24, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 109, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap(70, Short.MAX_VALUE))
        );
        jXPanel8Layout.setVerticalGroup(
            jXPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jXPanel8Layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(jXPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jXLabel25, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jXLabel26, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jXPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jXLabel23, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jXLabel24, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(jXPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jXLabel21, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jXComboBox6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jXLabel22, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jXComboBox5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        jxpanTranscripts.add(jXPanel8, java.awt.BorderLayout.NORTH);

        jXPanel9.setBorder(javax.swing.BorderFactory.createTitledBorder("Kết quả đăng ký học phần"));
        jXPanel9.setLayout(new java.awt.BorderLayout());

        jXTable2.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Mã môn học", "Tên môn học", "Số tín chỉ", "Điểm trung bình"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.String.class, java.lang.String.class, java.lang.Integer.class, java.lang.String.class
            };
            boolean[] canEdit = new boolean [] {
                false, false, true, true
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jScrollPane5.setViewportView(jXTable2);
        if (jXTable2.getColumnModel().getColumnCount() > 0) {
            jXTable2.getColumnModel().getColumn(2).setResizable(false);
            jXTable2.getColumnModel().getColumn(3).setResizable(false);
        }

        jXPanel9.add(jScrollPane5, java.awt.BorderLayout.CENTER);

        jxpanTranscripts.add(jXPanel9, java.awt.BorderLayout.CENTER);
        jXPanel9.getAccessibleContext().setAccessibleName("Kết quả học tập");

        jtabView.addTab("Bảng điểm cá nhân", jxpanTranscripts);

        add(jtabView, java.awt.BorderLayout.CENTER);

        jPanSearch.setLayout(new java.awt.BorderLayout());

        jpanAdvanced.setBorder(javax.swing.BorderFactory.createTitledBorder("Tìm kiếm nâng cao"));

        jxLbMajor.setText("Ngành");

        jxCmbMajor.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                jxCmbMajorItemStateChanged(evt);
            }
        });

        jxCmbFaculty.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                jxCmbFacultyItemStateChanged(evt);
            }
        });

        jxLbFaculty.setText("Khoa");

        jxCmbAdmissionYear.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                jxCmbAdmissionYearItemStateChanged(evt);
            }
        });

        jxLbAdmissionYear.setText("Năm nhập học");

        jxPanSearchDetails.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Chọn nội dung tìm kiếm", javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.DEFAULT_POSITION));

        buttonGroup1.add(jChkSearchByID);
        jChkSearchByID.setSelected(true);
        jChkSearchByID.setText("Tìm theo mã số sinh viên");

        buttonGroup1.add(jChkSearchByName);
        jChkSearchByName.setText("Tìm theo tên sinh viên");

        jChkSearch.setText("Tìm kiếm nhanh");

        javax.swing.GroupLayout jxPanSearchDetailsLayout = new javax.swing.GroupLayout(jxPanSearchDetails);
        jxPanSearchDetails.setLayout(jxPanSearchDetailsLayout);
        jxPanSearchDetailsLayout.setHorizontalGroup(
            jxPanSearchDetailsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jxPanSearchDetailsLayout.createSequentialGroup()
                .addGap(18, 18, 18)
                .addGroup(jxPanSearchDetailsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jChkSearchByID)
                    .addComponent(jChkSearchByName))
                .addContainerGap(175, Short.MAX_VALUE))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jxPanSearchDetailsLayout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jChkSearch)
                .addGap(30, 30, 30))
        );
        jxPanSearchDetailsLayout.setVerticalGroup(
            jxPanSearchDetailsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jxPanSearchDetailsLayout.createSequentialGroup()
                .addGap(15, 15, 15)
                .addComponent(jChkSearchByID)
                .addGap(10, 10, 10)
                .addComponent(jChkSearchByName)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jChkSearch)
                .addContainerGap())
        );

        javax.swing.GroupLayout jpanAdvancedLayout = new javax.swing.GroupLayout(jpanAdvanced);
        jpanAdvanced.setLayout(jpanAdvancedLayout);
        jpanAdvancedLayout.setHorizontalGroup(
            jpanAdvancedLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jpanAdvancedLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jpanAdvancedLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jxPanSearchDetails, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(jpanAdvancedLayout.createSequentialGroup()
                        .addGroup(jpanAdvancedLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jxLbMajor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jxLbAdmissionYear, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jxLbFaculty, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(57, 57, 57)
                        .addGroup(jpanAdvancedLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jxCmbAdmissionYear, javax.swing.GroupLayout.PREFERRED_SIZE, 223, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jxCmbMajor, javax.swing.GroupLayout.PREFERRED_SIZE, 223, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jxCmbFaculty, javax.swing.GroupLayout.PREFERRED_SIZE, 223, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap(35, Short.MAX_VALUE))
        );
        jpanAdvancedLayout.setVerticalGroup(
            jpanAdvancedLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jpanAdvancedLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jpanAdvancedLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jxCmbFaculty, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jxLbFaculty, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(27, 27, 27)
                .addGroup(jpanAdvancedLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jxLbMajor, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jxCmbMajor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(27, 27, 27)
                .addGroup(jpanAdvancedLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jxLbAdmissionYear, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jxCmbAdmissionYear, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addComponent(jxPanSearchDetails, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jPanSearch.add(jpanAdvanced, java.awt.BorderLayout.CENTER);

        jXSearchField1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jXSearchField1ActionPerformed(evt);
            }
        });

        jxbtnAdvanced.setText("Tùy chỉnh");
        jxbtnAdvanced.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jxbtnAdvancedActionPerformed(evt);
            }
        });

        jXButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mnstudent/data/picturelarge/search.png"))); // NOI18N
        jXButton2.setBorderPainted(false);
        jXButton2.setContentAreaFilled(false);
        jXButton2.setFocusPainted(false);

        javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
        jPanel5.setLayout(jPanel5Layout);
        jPanel5Layout.setHorizontalGroup(
            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel5Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jXSearchField1, javax.swing.GroupLayout.PREFERRED_SIZE, 314, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jxbtnAdvanced, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jXButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(27, 27, 27))
        );
        jPanel5Layout.setVerticalGroup(
            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
                .addGap(0, 11, Short.MAX_VALUE)
                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jXButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(jPanel5Layout.createSequentialGroup()
                        .addComponent(jXSearchField1, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jxbtnAdvanced, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );

        jPanSearch.add(jPanel5, java.awt.BorderLayout.NORTH);

        jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Kết quả tìm kiếm", javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.TOP, new java.awt.Font("Segoe UI", 1, 12))); // NOI18N

        jxtableDetail.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Mã số sinh viên", "Họ và tên"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.String.class, java.lang.String.class
            };
            boolean[] canEdit = new boolean [] {
                false, false
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jScrollPane3.setViewportView(jxtableDetail);

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 353, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 40, Short.MAX_VALUE))
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
        );

        jPanSearch.add(jPanel3, java.awt.BorderLayout.SOUTH);

        jScrollPane1.setViewportView(jPanSearch);

        add(jScrollPane1, java.awt.BorderLayout.WEST);
    }// </editor-fold>//GEN-END:initComponents

    private String m_StudentIdCurrent = "";
    
    //<editor-fold defaultstate="colapsed" desc="Student Info">
    
    private void prepareSearch(){
        //Hieu chinh lai kich thuoc cua JXPanel Advanced
        jpanAdvanced.setPreferredSize(new Dimension(0, 0));
        jpanAdvanced.validate();
        //Khoi tao cac doi tuong DTO
        m_FacultyObj = new FacultyDTO();
        m_MajorObj = new MajorDTO();
        //Khoi tao cac doi tuong xu ly
        m_FacultyExecute = new FacultyBLL();
        m_MajorExecute = new MajorBLL();
        m_StudentExecute = new StudentBLL();
        //
        jxtableDetail.getSelectionModel().addListSelectionListener(new ListSelectionListener() {

            @Override
            public void valueChanged(ListSelectionEvent lse) {
                if (!(jxtableDetail.getSelectionModel().isSelectionEmpty())) {
                    if (jxtableDetail.getRowSelectionAllowed() && jxtableDetail.getRowCount() > 0) {
                        for(int i = 0; i < jxtableDetail.getModel().getColumnCount(); ++i){
                            m_StudentIdCurrent = jxtableDetail.getValueAt(jxtableDetail.getSelectedRow(), 0).toString();
                           addDataToControls(m_StudentExecute.getAllStudentByConditionFromDatabase(new Object[]{m_StudentIdCurrent,"","","",null}));
                        }
                    }
                }
            }
        });
        //
        bindingDataToCombobox();
        bindingDataToTable();
        //
    }
    
    private void addDataToControls(ResultSet _resultData){
        try {
            long _time;
            String _dateOfBirth;
            SimpleDateFormat _format = new SimpleDateFormat("yyyy-MM-dd");
            while (_resultData.next()) {
                 _time = _format.parse(_resultData.getObject(4).toString().trim()).getTime();
                 _format = new SimpleDateFormat("dd/MM/yyyy");
                 _dateOfBirth = _format.format(_time);
                 jxlabStudentID.setText(_resultData.getObject(1).toString());
                 jxtxtFullName.setText(_resultData.getObject(2).toString());
                 jxtxtGender.setText(_resultData.getObject(3).toString());
                 jxtxtBirthDate.setText(_dateOfBirth);
                 jxtxtDistrict.setText(_resultData.getObject(5).toString());
                 jxtxtProvince.setText(_resultData.getObject(6).toString());
                 jxtxtMajor.setText(_resultData.getObject(7).toString());
                 jxtxtFaculty.setText(_resultData.getObject(8).toString());
                 jxtxtObject.setText(_resultData.getObject(9).toString());
            }
        }catch(SQLException | ParseException ex){
            ex.printStackTrace();
        }
        //Set text of cotrol in JXpanel Registration Courses
        jxlabFullNameValue.setText(jxtxtFullName.getText());
        jxlabStudentIDValue.setText(jxlabStudentID.getText());
        //
    }

    private void bindingDataToCombobox(){
        //Them moi du lieu vao combobox khoa
        m_listFacultyObj = new ArrayList<>();
        m_FacultyObj = new FacultyDTO("", "Tất cả...");
        m_listFacultyObj.add(m_FacultyObj);
        m_listFacultyObj.addAll(m_FacultyExecute.getAllFacultyToArray());
        jxCmbFaculty.setModel(new DefaultComboBoxModel(m_listFacultyObj.toArray()));
        
        //Them moi du lieu vao combobox Nganh
        m_listMajorObj = new ArrayList<>();
        m_MajorObj = new MajorDTO("", "Tất cả...");
        m_listMajorObj.add(m_MajorObj);
        //m_listMajorObj.addAll(m_MajorExecute.getAllMajorToArray());
        jxCmbMajor.setModel(new DefaultComboBoxModel(m_listMajorObj.toArray()));
        
        //Them moi du lieu vao JXCombobox CmbAdmissionYear
        m_listAdmissionYearObj = new ArrayList<>();
        m_listAdmissionYearObj.add("Tất cả...");
        m_listAdmissionYearObj.addAll(m_StudentExecute.getAllAdmissionYearFromDatabase());
        jxCmbAdmissionYear.setModel(new DefaultComboBoxModel(m_listAdmissionYearObj.toArray()));
    }
    
    DefaultTableModel m_Model;
    private void bindingDataToTable(){
                //Fill data into JXTable
        m_Model = (DefaultTableModel) jxtableDetail.getModel();
        DataTable.addRow(m_StudentExecute.getAllStudentByConditionFromDatabase(new Object[]{"","","","",null}),m_Model);
        jxtableDetail.setModel(m_Model);
        //
    }
    
    //</editor-fold>
    
    //<editor-fold defaultstate="colapsed" desc="Registration Coureses">
    private ArrayList<SemesterDTO> m_listSemesterObj;
    private SemesterDTO m_SemesterObj;
    private SemesterBLL m_SemesterExecute;
    //
    private ArrayList<AcademicYearDTO> m_listAcademicYearObj;
    private AcademicYearDTO m_AcademicYearObj;
    private AcademicYearBLL m_AcademicYearExecute;
    
    //
    
    private void prepareRegCoursesControl(){
        
        m_SemesterExecute = new SemesterBLL();
        m_listSemesterObj = new ArrayList<>();
        //
        m_AcademicYearExecute = new AcademicYearBLL();
        m_listAcademicYearObj = new ArrayList<>();
        //
        bindingDataToRegCoursesControl();
    }
    
    private void bindingDataToRegCoursesControl(){
        
        //To JXCombobox
        m_SemesterObj = new SemesterDTO("", "...");
        m_listSemesterObj.add(m_SemesterObj);
        m_listSemesterObj.addAll(m_SemesterExecute.getAllSemesterToArray());
        jxCmbSemester.setModel(new DefaultComboBoxModel(m_listSemesterObj.toArray()));
        //
        m_AcademicYearObj = new AcademicYearDTO("", "...");
        m_listAcademicYearObj.add(m_AcademicYearObj);
        m_listAcademicYearObj.addAll(m_AcademicYearExecute.getAllAcademicYearToArray());
        jxCmbAcademicYear.setModel(new DefaultComboBoxModel(m_listAcademicYearObj.toArray()));
        
        //To JXTable
        m_Model = (DefaultTableModel) jxtableDetail.getModel();
        DataTable.addRow(m_StudentExecute.getAllStudentByConditionFromDatabase(new Object[]{"","","","",null}),m_Model);
        //jxtableDetail.setModel(m_Model);
    }
    
    //</editor-fold>
    
    private void jxCmbMajorItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jxCmbMajorItemStateChanged

    }//GEN-LAST:event_jxCmbMajorItemStateChanged

    private void jxCmbFacultyItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jxCmbFacultyItemStateChanged
        //Lay tat ca ten nganh thuoc khoa hien tai
        m_MajorObj = new MajorDTO("", "Tất cả...");
        m_listMajorObj = new ArrayList<>();
        m_listMajorObj.add(m_MajorObj);
        m_listMajorObj.addAll(m_MajorExecute.getAllMajorByFacultyIDToArray(((FacultyDTO)jxCmbFaculty.getSelectedItem()).getFacultyID()));
        //m_listMajorObj.addAll(m_MajorExecute.getAllMajorToArray());
        jxCmbMajor.setModel(new DefaultComboBoxModel(m_listMajorObj.toArray()));
    }//GEN-LAST:event_jxCmbFacultyItemStateChanged

    private void jxCmbAdmissionYearItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jxCmbAdmissionYearItemStateChanged

    }//GEN-LAST:event_jxCmbAdmissionYearItemStateChanged

    private void jXSearchField1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jXSearchField1ActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_jXSearchField1ActionPerformed

    private void jxbtnAdvancedActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jxbtnAdvancedActionPerformed
        //Hien thi noi dung tim kiem nang cao
        if(jxbtnAdvanced.getText().equals("Tùy chỉnh")){
            jxbtnAdvanced.setText("Đóng");
            jpanAdvanced.setPreferredSize(new Dimension(300, 350));
            jpanAdvanced.validate();
        }
        else{
            jxbtnAdvanced.setText("Tùy chỉnh");
            jpanAdvanced.setPreferredSize(new Dimension(0, 0));
            jpanAdvanced.validate();
        }
    }//GEN-LAST:event_jxbtnAdvancedActionPerformed
    private ArrayList<FacultyDTO> m_listFacultyObj;
    private ArrayList<MajorDTO> m_listMajorObj;
    private ArrayList<Object> m_listAdmissionYearObj;
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.ButtonGroup buttonGroup1;
    private javax.swing.JCheckBox jChkSearch;
    private javax.swing.JCheckBox jChkSearchByID;
    private javax.swing.JCheckBox jChkSearchByName;
    private javax.swing.JPanel jPanSearch;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel5;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JScrollPane jScrollPane5;
    private org.jdesktop.swingx.JXButton jXButton2;
    private org.jdesktop.swingx.JXComboBox jXComboBox3;
    private org.jdesktop.swingx.JXComboBox jXComboBox4;
    private org.jdesktop.swingx.JXComboBox jXComboBox5;
    private org.jdesktop.swingx.JXComboBox jXComboBox6;
    private org.jdesktop.swingx.JXLabel jXLabel10;
    private org.jdesktop.swingx.JXLabel jXLabel11;
    private org.jdesktop.swingx.JXLabel jXLabel12;
    private org.jdesktop.swingx.JXLabel jXLabel13;
    private org.jdesktop.swingx.JXLabel jXLabel14;
    private org.jdesktop.swingx.JXLabel jXLabel15;
    private org.jdesktop.swingx.JXLabel jXLabel16;
    private org.jdesktop.swingx.JXLabel jXLabel17;
    private org.jdesktop.swingx.JXLabel jXLabel18;
    private org.jdesktop.swingx.JXLabel jXLabel19;
    private org.jdesktop.swingx.JXLabel jXLabel20;
    private org.jdesktop.swingx.JXLabel jXLabel21;
    private org.jdesktop.swingx.JXLabel jXLabel22;
    private org.jdesktop.swingx.JXLabel jXLabel23;
    private org.jdesktop.swingx.JXLabel jXLabel24;
    private org.jdesktop.swingx.JXLabel jXLabel25;
    private org.jdesktop.swingx.JXLabel jXLabel26;
    private org.jdesktop.swingx.JXLabel jXLabel27;
    private org.jdesktop.swingx.JXLabel jXLabel28;
    private org.jdesktop.swingx.JXLabel jXLabel4;
    private org.jdesktop.swingx.JXLabel jXLabel9;
    private org.jdesktop.swingx.JXPanel jXPanel10;
    private org.jdesktop.swingx.JXPanel jXPanel4;
    private org.jdesktop.swingx.JXPanel jXPanel5;
    private org.jdesktop.swingx.JXPanel jXPanel6;
    private org.jdesktop.swingx.JXPanel jXPanel7;
    private org.jdesktop.swingx.JXPanel jXPanel8;
    private org.jdesktop.swingx.JXPanel jXPanel9;
    private org.jdesktop.swingx.JXSearchField jXSearchField1;
    private org.jdesktop.swingx.JXTable jXTable2;
    private org.jdesktop.swingx.JXTextField jXTextField2;
    private org.jdesktop.swingx.JXTextField jXTextField3;
    private org.jdesktop.swingx.JXTextField jXTextField4;
    private org.jdesktop.swingx.JXTextField jXTextField5;
    private org.jdesktop.swingx.JXTextField jXTextField6;
    private org.jdesktop.swingx.JXTextField jXTextField7;
    private javax.swing.JPanel jpanAdvanced;
    private javax.swing.JPanel jpanTitle;
    private javax.swing.JTabbedPane jtabView;
    private org.jdesktop.swingx.JXComboBox jxCmbAcademicYear;
    private org.jdesktop.swingx.JXComboBox jxCmbAdmissionYear;
    private org.jdesktop.swingx.JXComboBox jxCmbFaculty;
    private org.jdesktop.swingx.JXComboBox jxCmbMajor;
    private org.jdesktop.swingx.JXComboBox jxCmbSemester;
    private org.jdesktop.swingx.JXLabel jxLbAdmissionYear;
    private org.jdesktop.swingx.JXLabel jxLbFaculty;
    private org.jdesktop.swingx.JXLabel jxLbMajor;
    private org.jdesktop.swingx.JXPanel jxPanSearchDetails;
    private org.jdesktop.swingx.JXButton jxbtnAdvanced;
    private org.jdesktop.swingx.JXImageView jximgStudentPic;
    private org.jdesktop.swingx.JXLabel jxlabAcademicYear;
    private org.jdesktop.swingx.JXLabel jxlabBirthDate;
    private org.jdesktop.swingx.JXLabel jxlabDistrict;
    private org.jdesktop.swingx.JXLabel jxlabFaculty;
    private org.jdesktop.swingx.JXLabel jxlabFullName;
    private org.jdesktop.swingx.JXLabel jxlabFullName1;
    private org.jdesktop.swingx.JXLabel jxlabFullNameValue;
    private org.jdesktop.swingx.JXLabel jxlabGender;
    private org.jdesktop.swingx.JXLabel jxlabMajor;
    private org.jdesktop.swingx.JXLabel jxlabObject;
    private org.jdesktop.swingx.JXLabel jxlabProvince;
    private org.jdesktop.swingx.JXLabel jxlabSemester;
    private org.jdesktop.swingx.JXLabel jxlabStudentID;
    private org.jdesktop.swingx.JXLabel jxlabStudentID1;
    private org.jdesktop.swingx.JXLabel jxlabStudentIDValue;
    private org.jdesktop.swingx.JXLabel jxlabTotalCredit;
    private org.jdesktop.swingx.JXPanel jxpanContent;
    private org.jdesktop.swingx.JXPanel jxpanFooter;
    private org.jdesktop.swingx.JXPanel jxpanHeader;
    private org.jdesktop.swingx.JXPanel jxpanRegistrationCoure;
    private org.jdesktop.swingx.JXPanel jxpanStudentProfile;
    private org.jdesktop.swingx.JXPanel jxpanTranscripts;
    private org.jdesktop.swingx.JXPanel jxpanTuitionFee;
    private mnstudent.global.MyTable jxtableDetail;
    private org.jdesktop.swingx.JXTable jxtableRegistrationCourses;
    private org.jdesktop.swingx.JXTextField jxtxtBirthDate;
    private org.jdesktop.swingx.JXTextField jxtxtDistrict;
    private org.jdesktop.swingx.JXTextField jxtxtFaculty;
    private org.jdesktop.swingx.JXTextField jxtxtFullName;
    private org.jdesktop.swingx.JXTextField jxtxtGender;
    private org.jdesktop.swingx.JXTextField jxtxtMajor;
    private org.jdesktop.swingx.JXTextField jxtxtObject;
    private org.jdesktop.swingx.JXTextField jxtxtProvince;
    private org.jdesktop.swingx.JXTextField jxtxtTotalCredit;
    private mnstudent.global.MyTable myTable1;
    // End of variables declaration//GEN-END:variables
}
